#ifndef REMOCONWIDGET_H
#define REMOCONWIDGET_H

#include <qpushbutton.h>
#include <qstring.h>

class Button: public QPushButton
{
	Q_OBJECT
	
signals:
	void pressed(unsigned char);
	void released(unsigned char);
	void clicked(unsigned char);
	
public:
	Button(const QString &, unsigned char, QWidget *parent = NULL);
	
private:
	unsigned char _keyCode;

private slots:
	void emitPressed();
	void emitReleased();
	void emitClicked();
};

#include <qwidget.h>

class QPushButton;

class RemoconWidget: public QWidget
{
	Q_OBJECT
	
signals:
	void keyPressed(unsigned char);
	void keyReleased(unsigned char);
	
public:
	RemoconWidget(QWidget *parent = NULL);

protected slots:
	void launchMediaCenter();
	void openMusic();
	void openTV();
	void openRadio();
	void openImage();
	void openVideo();
	void openDVD();

private:
	QPushButton *_mediaCenter;
	QPushButton *_menu;
	QPushButton *_music, *_tv, *_radio, *_image, *_video, *_dvd;
	
	Button *_play, *_stop, *_prev, *_next;
	Button *_mute, *_volUp, *_volDown;
	Button *_up, *_down, *_left, *_right, *_enter;
	Button *_back;
};

#endif	// REMOCONWIDGET_H
